X-MimeOLE: Produced By Microsoft Exchange V6.5
Received: by onstor-exch02.onstor.net 
	id <01C7CFB6.FBBDA6BD@onstor-exch02.onstor.net>; Thu, 26 Jul 2007 11:58:41 -0700
MIME-Version: 1.0
Content-Type: multipart/alternative;
	boundary="----_=_NextPart_001_01C7CFB6.FBBDA6BD"
Content-class: urn:content-classes:message
Subject: RE: func spec for filesystem layout changes planned in zonda release
Date: Thu, 26 Jul 2007 11:58:38 -0700
Message-ID: <BB375AF679D4A34E9CA8DFA650E2B04E04AFA763@onstor-exch02.onstor.net>
In-Reply-To: <BB375AF679D4A34E9CA8DFA650E2B04E0267A3C0@onstor-exch02.onstor.net>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: func spec for filesystem layout changes planned in zonda release
Thread-Index: AcfOZ1fcj97QLA3/TZyOhVLcbCBEygBNcgvGAAE7YzAAAuKFQA==
From: "Jobi Ariyamannil" <jobi.ariyamannil@onstor.com>
To: "Sandrine Boulanger" <sandrine.boulanger@onstor.com>,
	"Raj Kumar" <raj.kumar@onstor.com>,
	"dl-Design Review" <dl-designreview@onstor.com>

This is a multi-part message in MIME format.

------_=_NextPart_001_01C7CFB6.FBBDA6BD
Content-Type: text/plain;
	charset="US-ASCII"
Content-Transfer-Encoding: quoted-printable

Thanks Sandrine. See my comments inline.

=20

________________________________

From: Sandrine Boulanger=20
Sent: Thursday, July 26, 2007 10:12 AM
To: Raj Kumar; Jobi Ariyamannil; dl-Design Review
Subject: RE: func spec for filesystem layout changes planned in zonda
release

=20

Further comments/questions:

=20

Intro of 5: "If FS does not have many hardlinks, the conversion will be
done instantly" =3D> after how many we're going to need the convert? Is =
it
a total per file or per filesystem?

JOBI>  I am talking about an internal decision filesystem makes to
convert the layout of a filesystem or not, and if the layout is not
automatically converted, filesystems need to be manually converted.
Filesystems may be picked for conversion if the filesystem does not have
too many hardlinks which I plan to figure out by looking at the number
of blocks of the link file which tracks all the hardlinks in the
filesystem.

5.1: will we put hooks in the code to valid all those changes. The only
way to test the behaviors would be through unit tests.

JOBI> We need unit tests and noise tests.  Some of the eek tests can be
extended to test this as well.  Also filesystem tests.

5.2: same comment as 5.1

JOBI>  eek test tool can be used to test this AND all filesystem tests.

5.2: how can we make sure that the copy of emap and gennum is not
corrupted before restoring from that copy? Is there a mechanism to make
sure that the copy is complete?

JOBI>  If original and duplicate are corrupt, eek will have today's
behavior of fixing the filesystem by throwing a lot of user data.

5.2: "Mirror volumes[...] may not need these replicated inodes" =3D> is
the copy created when the mirror is promoted? What happens to the copy
if the mirror is demoted?

JOBI>  Copy is created when mirror is promoted and will be left
untouched when demoted.  Only consumer of these replicated copies is eek
and it never needs to look at them on a mirror volume since mirror
volumes are not repaired by eek.

5.3: "While extending the inode when truncation is pending, blocks
pending truncation can be resued" =3D> Why? Isn't this risky?

JOBI> No risk.  Truncating blocks and allocating them again is
unnecessary overhead.

5.4: Is the history log recycled? Should we do it after it reaches a
certain size?

JOBI>  No recycling planned at this time.  I am not anticipating them to
take too much of disk space anytime soon.

7.1 "Backup should skip bad inodes" =3D> how do we check? Zap some of =
them
and verify backup completes?

JOBI> Yes

=20

=20

=20

________________________________

From: Raj Kumar=20
Sent: Thursday, July 26, 2007 8:54 AM
To: Jobi Ariyamannil; dl-Design Review
Subject: RE: func spec for filesystem layout changes planned in zonda
release

=20

Looks good. Few comments:

=20

* CLI option to set the online EEK schedule is missing

* Is there anything apart from refcount and duplicate data block
corruptions detections planned for Zonda, if yes please mention, helps
us to plan our testing

* Is it feasible to add a functionality to online EEK to do regular EEK
checks but RDONLY?

* should we limit the number of volumes that can be online EEK'd? Since
we are going to support 100 volumes in Zonda, the temptation from the
customers would be to enable this on all volumes, not sure how bad the
performance will be?

=20

________________________________

From: Jobi Ariyamannil
Sent: Tue 7/24/2007 7:56 PM
To: dl-Design Review
Subject: func spec for filesystem layout changes planned in zonda
release

Hi,

=20

Please review the attached func spec for filesystem layout changes
planned for zonda release.

Minor layout changes are made for additional hardening, availability,
recovery and tracing/debugging.

Please let me know any comments you may have.

=20

Regards,

Jobi


------_=_NextPart_001_01C7CFB6.FBBDA6BD
Content-Type: text/html;
	charset="US-ASCII"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns=3D"http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dus-ascii">
<meta name=3DGenerator content=3D"Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman";}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{color:purple;
	text-decoration:underline;}
span.emailstyle17
	{font-family:Arial;
	color:windowtext;}
span.EmailStyle18
	{mso-style-type:personal;
	font-family:Arial;
	color:navy;}
span.EmailStyle19
	{mso-style-type:personal-reply;
	font-family:Arial;
	color:navy;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
	{page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>Thanks Sandrine. See my comments =
inline.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<div>

<div class=3DMsoNormal align=3Dcenter style=3D'text-align:center'><font =
size=3D3
face=3D"Times New Roman"><span style=3D'font-size:12.0pt'>

<hr size=3D2 width=3D"100%" align=3Dcenter tabindex=3D-1>

</span></font></div>

<p class=3DMsoNormal><b><font size=3D2 face=3DTahoma><span =
style=3D'font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font =
size=3D2
face=3DTahoma><span style=3D'font-size:10.0pt;font-family:Tahoma'> =
Sandrine
Boulanger <br>
<b><span style=3D'font-weight:bold'>Sent:</span></b> Thursday, July 26, =
2007
10:12 AM<br>
<b><span style=3D'font-weight:bold'>To:</span></b> Raj Kumar; Jobi =
Ariyamannil;
dl-Design Review<br>
<b><span style=3D'font-weight:bold'>Subject:</span></b> RE: func spec =
for
filesystem layout changes planned in zonda =
release</span></font><o:p></o:p></p>

</div>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span =
style=3D'font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>Further =
comments/questions:<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>Intro of 5: &#8220;If FS does not =
have <i><span
style=3D'font-style:italic'>many</span></i> hardlinks, the conversion =
will be
done instantly&#8221; =3D&gt; after how many we&#8217;re going to need =
the
convert? Is it a total per file or per =
filesystem?<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dred face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:red'>JOBI&gt;&nbsp; I am talking about an
internal decision filesystem makes to convert the layout of a filesystem =
or not,
and if the layout is not automatically converted, filesystems need to be
manually converted. &nbsp;Filesystems may be picked for conversion if =
the
filesystem does not have too many hardlinks which I plan to figure out =
by
looking at the number of blocks of the link file which tracks all the =
hardlinks
in the filesystem.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>5.1: will we put hooks in the code =
to
valid all those changes. The only way to test the behaviors would be =
through
unit tests.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dred face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:red'>JOBI&gt; We need unit tests and =
noise
tests.&nbsp; Some of the eek tests can be extended to test this as =
well.&nbsp;
Also filesystem tests.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>5.2: same comment as =
5.1<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dred face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:red'>JOBI&gt;&nbsp; eek test tool can be =
used to
test this AND all filesystem tests.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>5.2: how can we make sure that the =
copy of
emap and gennum is not corrupted before restoring from that copy? Is =
there a
mechanism to make sure that the copy is =
complete?<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dred face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:red'>JOBI&gt;&nbsp; If original and =
duplicate
are corrupt, eek will have today&#8217;s behavior of fixing the =
filesystem by
throwing a lot of user data.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>5.2: &#8220;Mirror volumes[&#8230;] =
may
not need these replicated inodes&#8221; =3D&gt; is the copy created when =
the
mirror is promoted? What happens to the copy if the mirror is =
demoted?<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dred face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:red'>JOBI&gt;&nbsp; Copy is created when =
mirror
is promoted and will be left untouched when demoted.&nbsp; Only consumer =
of these
replicated copies is eek and it never needs to look at them on a mirror =
volume
since mirror volumes are not repaired by =
eek.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>5.3: &#8220;While extending the =
inode when
truncation is pending, blocks pending truncation can be resued&#8221; =
=3D&gt;
Why? Isn&#8217;t this risky?<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dred face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:red'>JOBI&gt; No risk.&nbsp; Truncating =
blocks
and allocating them again is unnecessary =
overhead.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>5.4: Is the history log recycled? =
Should
we do it after it reaches a certain size?</span></font><font size=3D2 =
color=3Dred
face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial;color:red'><o:p></o:p></span>=
</font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dred face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:red'>JOBI&gt;&nbsp; No recycling planned =
at this
time.&nbsp; I am not anticipating them to take too much of disk space =
anytime
soon.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>7.1 &#8220;Backup should skip bad
inodes&#8221; =3D&gt; how do we check? Zap some of them and verify =
backup
completes?</span></font><font size=3D2 color=3Dred face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;color:red'><o:p></o:p></span>=
</font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dred face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:red'>JOBI&gt; =
Yes<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<div>

<div class=3DMsoNormal align=3Dcenter style=3D'text-align:center'><font =
size=3D3
face=3D"Times New Roman"><span style=3D'font-size:12.0pt'>

<hr size=3D2 width=3D"100%" align=3Dcenter tabindex=3D-1>

</span></font></div>

<p class=3DMsoNormal><b><font size=3D2 face=3DTahoma><span =
style=3D'font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font =
size=3D2
face=3DTahoma><span style=3D'font-size:10.0pt;font-family:Tahoma'> Raj =
Kumar <br>
<b><span style=3D'font-weight:bold'>Sent:</span></b> Thursday, July 26, =
2007 8:54
AM<br>
<b><span style=3D'font-weight:bold'>To:</span></b> Jobi Ariyamannil; =
dl-Design
Review<br>
<b><span style=3D'font-weight:bold'>Subject:</span></b> RE: func spec =
for
filesystem layout changes planned in zonda =
release</span></font><o:p></o:p></p>

</div>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span =
style=3D'font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<div id=3DidOWAReplyText85612>

<div>

<p class=3DMsoNormal><font size=3D2 color=3Dblack face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:black'>Looks good. Few =
comments:</span></font><o:p></o:p></p>

</div>

<div>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span =
style=3D'font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>* CLI option to set the online EEK schedule is =
missing</span></font><o:p></o:p></p>

</div>

<div>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>* Is there anything apart from refcount and duplicate =
data block
corruptions detections planned for Zonda, if yes please mention, helps =
us to
plan our testing</span></font><o:p></o:p></p>

</div>

<div>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>* Is it feasible to add a functionality to online EEK =
to do
regular EEK checks but RDONLY?</span></font><o:p></o:p></p>

</div>

<div>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>* should&nbsp;we limit the number of volumes that can =
be
online EEK'd? Since we are going to support 100 volumes in Zonda, the
temptation from the customers would be to enable this on all volumes, =
not sure
how bad the performance will be?</span></font><o:p></o:p></p>

</div>

</div>

<div>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span =
style=3D'font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<div class=3DMsoNormal align=3Dcenter style=3D'text-align:center'><font =
size=3D3
face=3D"Times New Roman"><span style=3D'font-size:12.0pt'>

<hr size=3D2 width=3D"100%" align=3Dcenter tabIndex=3D-1>

</span></font></div>

<p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><b><font size=3D2 =
face=3DTahoma><span
style=3D'font-size:10.0pt;font-family:Tahoma;font-weight:bold'>From:</spa=
n></font></b><font
size=3D2 face=3DTahoma><span =
style=3D'font-size:10.0pt;font-family:Tahoma'> Jobi
Ariyamannil<br>
<b><span style=3D'font-weight:bold'>Sent:</span></b> Tue 7/24/2007 7:56 =
PM<br>
<b><span style=3D'font-weight:bold'>To:</span></b> dl-Design Review<br>
<b><span style=3D'font-weight:bold'>Subject:</span></b> func spec for =
filesystem
layout changes planned in zonda release</span></font><o:p></o:p></p>

</div>

<div>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Hi,</span></font><o:p></o:p></p>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span =
style=3D'font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Please review the attached func spec for filesystem =
layout
changes planned for zonda release.</span></font><o:p></o:p></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Minor layout changes are made for additional =
hardening,
availability, recovery and =
tracing/debugging.</span></font><o:p></o:p></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Please let me know any comments you may =
have.</span></font><o:p></o:p></p>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span =
style=3D'font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Regards,</span></font><o:p></o:p></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Jobi</span></font><o:p></o:p></p>

</div>

</div>

</body>

</html>

------_=_NextPart_001_01C7CFB6.FBBDA6BD--
